#ifndef __QUEUE_H
#define __QUEUE_H

#include "stdint.h"
#include "stdbool.h"

#define Queue_Capacity 8

typedef struct 
{ 
      uint8_t data[Queue_Capacity]; //固定大小数组存储元素
      uint8_t head;//队头指针（指向最早插入的元素）
      uint8_t tail;//队尾指针（指向下一个插入的位置）
      uint8_t count; //元素计数器
}CircularQueue;

void Queue_Init(CircularQueue *q);
bool Queue_isEmpty(const CircularQueue *q);
bool Queue_isFull(const CircularQueue *q);
bool Queue_EnQueue(CircularQueue *q,uint8_t val);
bool Queue_DeQueue(CircularQueue *q,uint8_t *val);





#endif //  _QUEUE

